// vite 默认配置
import { defineConfig } from 'vite';
// react
import react from '@vitejs/plugin-react';
// ts要用的node
import { fileURLToPath, URL } from 'node:url';
// 引入自动引入插件
import AutoImport from 'unplugin-auto-import/vite';
// 引入自动生成路由
import Pages from 'vite-plugin-pages';
// 加载scope-css插件
import { reactScopedCssPlugin } from 'rollup-plugin-react-scoped-css';

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    react(),
    AutoImport({
      imports: [
        'react',
        'react-router-dom'
      ],
      dts: './src/auto-imports.d.ts',
    }),
    Pages({
      dirs: 'src/views', // 需要生成路由的组件目录
      exclude: ['**/components/*.tsx'], // 排除在外的目录，即所有 components 目录下的 .tsx 文件都不会生成路由
    }),
    reactScopedCssPlugin(),
  ],
  resolve: {
    alias: {
      //设置@符号 别名路径变量
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  server: {
    //开发服务器的配置
    //反向代理
    proxy: {
      '/hotel': {
        // target: 'http://www.fastadmin.com:8080/hotel', // 本地反向代理的目标地址
        target: 'https://www.hurrinz.fastadmin.thecuriouscat.site/hotel', // 线上反向代理的目标地址
        changeOrigin: true, //允许跨域
        //替换掉hotel前缀 防止多个hotel地址
        rewrite: (path) => path.replace(/^\/hotel/, ''),
      },
    }
  }
})
